Модуль console
Модуль console позволяет одному экземпляру Tarantool получать доступ к другому экземпляру Tarantool и позволяет одному экземпляру Tarantool начать прослушивание по порту администрирования.
Ниже приведен перечень всех функций модуля console.
| Имя | Назначение | 
|---|---|
| console.connect() | Подключение к экземпляру | 
| console.listen() | Прослушивание входящих запросов | 
| console.start() | Запуск консоли | 
| console.ac() | Установка флага автодополнения ввода | 
| console.delimiter() | Настройка разделителя | 
| console.get_default_output() | Get default output format | 
| console.set_default_output() | Set default output format | 
| console.eos() | Set or get end-of-output string | 
- 
 console.connect(uri)¶
- Подключение к экземпляру по URI, смена командной строки с „ - tarantool>“ на „- uri>“ и дальнейшая работа в качестве клиента до окончания сессии пользователя или ввода команды- control-D.- Функция console.connect позволяет одному экземпляру Tarantool в интерактивном режиме получать доступ к другому экземпляру Tarantool. Последующие запросы на первый взгляд будут обрабатываться локально, но в действительности запросы отправляются на удаленный экземпляр, а локальный экземпляр выступает в виде клиента. После успешного подключения командная строка сменится, и последующие запросы отправляются и выполняются на удаленном экземпляре. Результат выводится на локальный экземпляр. Чтобы вернуться к работе на локальном экземпляре, введите команду - control-D.- Если экземпляр Tarantool по - URIзапрашивает авторизацию, подключение может выглядеть следующим образом:- console.connect('admin:secretpassword@distanthost.com:3301').- Нет ограничений по типу вводимых запросов, кроме ограничений по правам на выполняемые запросы – по умолчанию, вход в систему на удаленном экземпляре выполняется от имени пользователя „guest“. Можно разрешить работу на удаленном экземпляре, выдав права: - box.schema.user.grant('guest','execute','universe').- Параметры: - uri (string) – URI удаленного экземпляра
 - возвращает: - nil - Возможные ошибки: подключение не будет установлено, если целевой экземпляр Tarantool не был инициирован с помощью - box.cfg{listen=...}.- Пример: - tarantool> console = require('console') --- ... tarantool> console.connect('198.18.44.44:3301') --- ... 198.18.44.44:3301> -- командная строка показывает, что работа идет с удаленным экземпляром 
- uri (
- 
 console.listen(uri)¶
- Прослушивание по URI. Основной способ прослушивания на предмет входящих запросов – по строке информации о подключении, или URI, указанному в - box.cfg{listen=...}. Другой способ прослушивания – по URI, указанному в- console.listen(...). Этот другой способ называется «административным» или просто «по порту администрирования». Такое прослушивание обычно осуществляется по локальному хосту с доменным Unix-сокетом.- Параметры: - uri (string) – URI локального экземпляра
 - «Административный» адрес – это URI для прослушивания. У него нет значения по умолчанию, поэтому следует указать, будет ли подключение производиться по порту администрирования. Параметр выражен URI = Универсальным идентификатором ресурса, например «/tmpdir/unix_domain_socket.sock», или числовым идентификатором TCP-порта. Подключения часто выполняются по telnet. Типичное значение порта: 3313. - Пример: - tarantool> console = require('console') --- ... tarantool> console.listen('unix/:/tmp/X.sock') ... main/103/console/unix/:/tmp/X I> started --- - fd: 6 name: host: unix/ family: AF_UNIX type: SOCK_STREAM protocol: 0 port: /tmp/X.sock ... 
- uri (
- 
 console.start()¶
- Запуск консоли на текущем интерактивном терминале. - Пример: - console.start()специально используется с файлами инициализации. Как правило, при запуске экземпляра Tarantool с помощью команды- tarantool initialization file, консоль не поддерживается. Эту проблему можно решить путем добавления следующих строк в конце файла инициализации:- local console = require('console') console.start() 
- 
 console.ac([true|false])¶
- Установка флага автодополнения ввода. Если значение автодополнения = - true(правда), и пользователь использует Tarantool в качестве клиента или подключен к Tarantool по- console.connect(), то при нажатии клавиши TAB Tarantool будет автоматически дополнять текст по введенной части. По умолчанию, задано значение- true.
- 
 console.delimiter(marker)¶
- Настройка специального маркера окончания запроса для консоли Tarantool. - По умолчанию, маркер окончания запроса представляет собой символ разрыва строки (перевод строки). Нет необходимости в специальных маркерах, поскольку Tarantool может определить, если многостроковый запрос не завершен (например, если видно, что при объявлении функции еще не задано конечное ключевое слово). Тем не менее, в особых случаях или при вводе многостроковых запросов в более ранних версиях Tarantool, можно изменить маркер окончания запроса. В результате символ разрыва строки не будет означать окончание запроса. - Чтобы вернуться в нормальный режим, введите команду: - console.delimiter('')<marker>- Параметры: - marker (string) – специальный маркер окончания запроса для консоли Tarantool
 - Пример: - tarantool> console = require('console'); console.delimiter('!') --- ... tarantool> function f () > statement_1 = 'a' > statement_2 = 'b' > end! --- ... tarantool> console.delimiter('')! --- ... 
- marker (
- 
 console.get_default_output()¶
- Return the current default output format. The result will be - fmt="yaml", or it will be- fmt="lua"if the last set_default_output call was- console.set_default_output('lua').
- 
 console.set_default_output('yaml'|'lua')¶
- Set the default output format. The possible values are „yaml“ (the default default) or „lua“. The output format can be changed within a session by executing - console.eval('\set output yaml|lua'); see the description of output format in the Interactive console section.
- 
 console.eos([string])¶
- Set or access the end-of-output string if default output is „lua“. This is the string that appears at the end of output in a response to any Lua request. The default value is - ;semicolon. Saying- eos()will return the current value. For example, after- require('console').eos('!!')responses will end with „!!“.